//---------------------------------------------------------------------------------------------------------------------------------------------------------//
//---------------------------------------------------------------------------------------------------------------------------------------------------------//
#ifndef _ProcessLigandPDBContact_h__
#define	_ProcessLigandPDBContact_h__
//---------------------------------------------------------------------------------------------------------------------------------------------------------//
//---------------------------------------------------------------------------------------------------------------------------------------------------------//
#include "LigandPDBContact.h"
#include "ProcessCathFASTAProfile.h"
//---------------------------------------------------------------------------------------------------------------------------------------------------------//
//---------------------------------------------------------------------------------------------------------------------------------------------------------//
class ProcessLigandPDBContact {
  
  private:
    
    String*                   namefileOut;
    String*                   namefileOnlyLigands;
    String*                   namefileLigandList;
    
    String*                   locationPDBAtomDomain;
    String*                   locationPDBHetAtmDomain;
    
    ProcessCathFASTAProfile*  fastaProfile;
    
    TListE <String>*          ligandsContainer;
    
  public:
    
    ProcessLigandPDBContact ();
    ProcessLigandPDBContact (const ProcessLigandPDBContact&);
    ProcessLigandPDBContact (const ProcessLigandPDBContact*);
    
    ~ProcessLigandPDBContact ();

    void                      NamefileOut (String*);
    void                      NamefileOnlyLigands (String*);
    void                      NamefileLigandList (String*);
    void                      LocationPDBAtomDomain (String*);
    void                      LocationPDBHetAtmDomain (String*);
    void                      FASTAProfile (ProcessCathFASTAProfile*);
    void                      LigandsContainer (TListE <String>*);
    
    String*                   NamefileOut (void);
    String*                   NamefileOnlyLigands (void);
    String*                   NamefileLigandList (void);
    String*                   LocationPDBAtomDomain (void);
    String*                   LocationPDBHetAtmDomain (void);
    ProcessCathFASTAProfile*  FASTAProfile (void);
    TListE <String>*          LigandsContainer (void);
    
    bool                      CreateDomainContactProfileByLigand (double);    
    
    ProcessLigandPDBContact   operator= (const ProcessLigandPDBContact&);
    
};
//---------------------------------------------------------------------------------------------------------------------------------------------------------//
//---------------------------------------------------------------------------------------------------------------------------------------------------------//
#endif
//---------------------------------------------------------------------------------------------------------------------------------------------------------//
//---------------------------------------------------------------------------------------------------------------------------------------------------------//


